package model

import (
	"gorm.io/gorm"
	"time"
)

type Order struct {
	Id           uint64         `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	CreatedAt    time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt    time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt    gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
	Title        string         `gorm:"column:title;type:varchar(255);comment:订单标题;not null;" json:"title"`                                                                    // 订单标题
	CartType     uint64         `gorm:"column:cart_type;type:bigint;comment:车辆类型，1-高铁，2-火车，3-大巴，4-飞机;not null;" json:"cart_type"`                                              // 车辆类型，1-高铁，2-火车，3-大巴，4-飞机
	TicketType   uint64         `gorm:"column:ticket_type;type:bigint;comment:车票状态，1-候补，2-有座，3-无座                                              ;not null;" json:"ticket_type"` // 车票状态，1-候补，2-有座，3-无座
	InDetailType uint64         `gorm:"column:in_detail_type;type:bigint;comment:详细类型，1-硬座，2-软座，3-硬卧，4-软卧，5-无座;not null;" json:"in_detail_type"`                               // 详细类型，1-硬座，2-软座，3-硬卧，4-软卧，5-无座
	OrderType    uint64         `gorm:"column:order_type;type:bigint;comment:订单类型，1-审核已支付，2-未审核未支付，3-审核未支付;not null;" json:"order_type"`                                       // 订单类型，1-审核已支付，2-未审核未支付，3-审核未支付
}

func (Order) TableName() string {
	return "order"
}
